<?php
/* 
* @Author: Jerry-chen
* @Date:   2014-07-12 23:26:56
* @Last Modified time: 2014-07-28 11:45:30
* @Last Modified by: Jerry-chen<uranusbill@163.com>
* @ Copyright (c) 2014 http://www.cooldreamer.com All rightsreserved.
*/

class GoodsControl extends PublicControl
{
	
	function index()
	{
		//商品页的商品推荐数据
		$this->goods_show();
		// 得到GET传过来的ID查出商品的相关信息
		$goodsid = Q('get.goodsid');
		//商品浏览数
		//浏览加1
		M('goods')->inc("click","goodsid=$goodsid",1);
		$goodsData = K('Goods')->get_one(array('goodsid'=>$goodsid));
		// p($goodsData);
		$this->assign('goodsData',$goodsData);
//---------------------------------------------不支持选座-------------------------------------------
		//如果不支持选座
		if($goodsData['is_seat']==0){
				//得到详情数据
				$goodsdesData = K('Goodsdes')->get_one(array('goodsid'=>$goodsid));
				// p($goodsdesData);
				//反转内容，因为之前上传至数据库里面的数据，有进行转义安全处理，需要反转
				$goodsdesData['goodsdes']=htmlspecialchars_decode($goodsdesData['goodsdes']);
				// p($goodsdesData);
				$this->assign('goodsdesData',$goodsdesData);
				// p($goodsdesData);
				//查出演出地点
				$seatid = $goodsData['seatid'];
				$seatData = K('Cinema')->get_one(array('cinemaid'=>$goodsData['cinemaid']),'cinemaaddress');
				// p($seatData);
				$this->assign('seatData',$seatData);
				//----查出对应时间的相应价格
				$goodstimeData = K('goodstime')->get_all(array('goodsid'=>$goodsid));
				// p($goodstimeData);
				//定义一个空数组，重组数组
				$price=array();
				foreach ($goodstimeData as $k => $v) {
					//得到当前的TIMEID，然后找出对应TIMEID的价格和座位
					
					$goodstimeData[$k]['prices'] = K('goodsprice')->get_all(array('goodstimeid'=>$v['timeid']),array('price','countticket','goodsprice'));//价格，票数，goodsprice是价格ID
				}
				// p($goodstimeData);
				$this->assign('goodstimeData',$goodstimeData);
		}
//---------------------------------------------支持选座-------------------------------------------
		if($goodsData['is_seat']==1){
			//得到详情数据
			
				$goodsdesData = K('Goodsdes')->get_one(array('goodsid'=>$goodsid));
				//反转内容，因为之前上传至数据库里面的数据，有进行转义安全处理，需要反转
				$goodsdesData['goodsdes']=htmlspecialchars_decode($goodsdesData['goodsdes']);
				// p($goodsdesData);
				$this->assign('goodsdesData',$goodsdesData);
				// p($goodsdesData);
				//查出演出地点
				$seatid = $goodsData['seatid'];
				$seatData = K('Seat')->get_one(array('seatid'=>$seatid));
				// p($seatData);
				$this->assign('seatData',$seatData);
				//----查出对应时间的相应价格
				$goodstimeData = K('goodstime')->get_all(array('goodsid'=>$goodsid));
				// p($goodstimeData);
				//定义一个空数组，重组数组
				$price=array();
				foreach ($goodstimeData as $k => $v) {
					//得到当前的TIMEID，然后找出对应TIMEID的价格和座位
					
					$goodstimeData[$k]['prices'] = K('goodsprice')->get_all(array('goodstimeid'=>$v['timeid']),array('price'));//价格，票数，goodsprice是价格ID
					
				}
				//数组去重
				$goodstimeData[0]['prices']=$this->assoc_unique($goodstimeData[0]['prices'] , 'price');
				// p($goodstimeData);
				$this->assign('goodstimeData',$goodstimeData);

		}
		
		//运费数据
		$fareData = K('Fare')->get_all();
		$this->assign('fareData',$fareData);
		// p($fareData);
		//得到商品属性
		$goodsattrData = K('Goodsattr')->get_one(array('goodsid'=>$goodsid),'support');
		//截取成数组
		$goodsattrData = explode(',', $goodsattrData['support']);
		//是否支持收藏
		if(in_array('收藏', $goodsattrData)){
			//如果数组里面有'收藏'，说明此商品支持收藏
			$collect =1;
		}else{
			// 如果数组里面没有'收藏'，说明此商品不支持收藏
			$collect = 0;
		}
		//是否支持购物车
		if(in_array('购物车', $goodsattrData)){
			//如果数组里面有'购物车'，说明此商品支持购物车
			$shopcar =1;
		}else{
			// 如果数组里面没有'购物车'，说明此商品不支持购物车
			$shopcar = 0;
		}
		//分配收藏数据，好让前台进行比较
		$this->assign('collect',$collect);
		$this->assign('shopcar',$shopcar);
		//直接购买控制器里面，SESSION里面的控制值为1
		session('step',1);
		// echo $shopcar;
		// p($goodsattrData);
		// 问答显示
		$this->ask_show();
		$this->display();
	}
	/**
	 * [ajax_choose AJAX选择价格和时间，方便以后扩展，所有用AJAX]
	 * @return [type] [description]
	 */
	public function ajax_choose()
	{
		$data = Q('post.');
		if($data)
			{
			//输出json格式
			echo json_encode($data);die;
			}
			 else
		 	{
			echo 0;die;
			}
	}
	//显示问题和答案
	public function ask_show()
	{
		$askData = K('ask')->get_all(array('goodsid'=>$_GET['goodsid']));
		//获得商品名
		if(is_array($askData))
		{
				foreach ($askData as $k => $v) {
			//商品名
			$goodsname =K('Goods')->get_one(array('goodsid'=> $v['goodsid']),array('goodsname'));
			//回答内容
			$answer = K('Answer')->get_one(array('askid'=>$v['askid']),array('anscontent','anstime','adminname'));
			// p($answer);
			$askData[$k]['goodsname']=$goodsname['goodsname'];
			$askData[$k]['anscontent']=$answer['anscontent'];
			$askData[$k]['anstime']=$answer['anstime'];
			$askData[$k]['adminname']=$answer['adminname'];
		}
		// }else{
		// 	$askData = array();
		// }

		}
		
		$this->assign('askData',$askData);
		
		// p($askData);


	}

	/**
	 * [re_unique 数组去重]
	 * @return [type] [description]
	 */
function assoc_unique($arr, $key) {
     $tmp_arr = array();
    foreach($arr as $k => $v) {
        if(in_array($v[$key], $tmp_arr)) {
           unset($arr[$k]);
        } else {
            $tmp_arr[] = $v[$key];
        }
  }
  //重置键名
   sort($arr);
    return $arr;
}
/**
 * [goods_show 商品页的商品导航]
 * @return [type] [description]
 */
public function goods_show()
{
	//========================================商品数据<首页的多少元起>++++++++++++++++++++++++++++++++++++
        //对数组重组，取需要的数据
        $goodsData = k('Goods')->get_all(null,'goodsid desc');
        //+++++++++++++++++++取出最小的价格++++++++++++++++++++++++//
        $i= -1;
        foreach ($goodsData as $key => $value) 
        {
        	$i=$i+1;
            // 找出相应的价格
           $goodstimeid =  K('Goodstime')->get_one(array('goodsid'=>$value['goodsid']),'timeid'); 
           //取出所有的价格。
           $price = K('Goodsprice')->get_all(array('goodstimeid'=>$goodstimeid));
           // 取出数组中PRICE最小的数
           foreach ($price as $km => $vm) {
              if($km==0){
                //第一次循环，先把VM值付给MIN
                $min = $vm['price'];
              }
              if($vm['price']<$min){
                $min = $vm['price'];
              }
           }
            //+++++++++++++++++++取出图片的路径++++++++++++++++++++++++//
            // 通过GOODSID查出商品的GOODSDES
            $goodsimage = K('Goodsdes')->get_one(array('goodsid'=>$value['goodsid']),'goodsimage');
            // p($goodsimage);
            // 将得到的最小价格和图片路径符值给GOODSDATA数组，好分配;
           $goodsData[$key]['minprice']=$min;
           $goodsData[$key]['goodsimage']=$goodsimage['goodsimage'];
           //序号
           $goodsData[$key]['sequenceNumber'] =  $i;

        }
        // P($goodsData);
        $threegoodsData = array_slice($goodsData, 1,3,true);
        // p($threegoodsData);
    	//分配数据
       $this->assign('showgoodsData',$goodsData);
       $this->assign('threegoodsData',$threegoodsData);
	
}


	
}